Bad Comment Rate ^^^^^ **Definition:** * The comment rate (number of comments per line) is too high or too low. **Code Example:** .. code-block:: pseudo function ptc_CC_PR_MP_RQ_V_030(CSeq lo cCSeq s) runs on SipComponent { var Request vINVITERequest; var Request vBYERequest; var Request vACKRequest; charstring vbranch := ""; initPTC(locCSeq s); vDefault := activate(defaultCCPRPTC()); alt { [] SIPP.receive(INVITERequest r1)-> value vINVITERequest sendt_label { TGuard.stop; setHeadersOnReceiptOfInvite(vINVITERequest); sendPTC200OKInvite(); setverdict(pass); repeat; } [] SIPP.receive(ACKRequest r1(vCallId))-> value vACKRequest sendt_label { vVia := vACKRequest.msgHeader.via; if (ispresent(vVia.viaBody[0].viaParams)) { var SemicolonParamList tmp_params := vVia.viaBody[0].viaParams; if (checkBranchPresent(tmp_params, vbranch)) { if (match(v_branch, ValidBranch)) { setverdict(pass); } else { setverdict(fail); }; } else { setverdict(fail) }; } else { setverdict(fail) }; cpA.send(CMCheckDone); repeat; } [] SIPP.receive(BYERequest r1(vCallId))-> value vBYERequest sendt_label { setHeadersOnReceiptO fBye(vBYERequest); send200OK(); } [] cpA.receive(CMStop) { all timer.stop; stop; } [] SIPP.receive { repeat; } [] TGuard.timeout { setverdict(fail); stop; } } } **References:** .. admonition:: Quality attributes * :octicon:`file-code;1em` - Code Example * :octicon:`comment-discussion;1em` - Cause and Effect * :octicon:`graph;1em` - Frequency * :octicon:`sync;1em` - Refactoring * `An approach to quality engineering of TTCN-3 test specifications `_ * `Pattern-based Smell Detection in TTCN-3 Test Suites `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em` * `Utilising Code Smells to Detect Quality Problems in TTCN-3 Test Suites `_